/*
 * Copyright 2023-2025 Dozingfiretruck
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
#ifndef __NES_MAPPER_H__
#define __NES_MAPPER_H__

#include <stdint.h>
#ifdef __cplusplus
    extern "C" {
#endif

struct nes;
//typedef struct nes nes_t;
/* https://www.nesdev.org/wiki/Mapper   */
typedef struct {
    void (*mapper_init)(struct nes* nes);
    void (*mapper_deinit)(struct nes* nes);
    void (*mapper_write)(struct nes* nes, uint16_t write_addr, uint8_t data);
    void (*mapper_sram)(struct nes* nes, uint16_t write_addr, uint8_t data);
    void (*mapper_apu)(struct nes* nes, uint16_t write_addr, uint8_t data);
    uint8_t (*mapper_read_apu)(struct nes* nes, uint16_t write_addr);
    /* Callback at VSync */
    void (*mapper_vsync)(struct nes* nes);
    /* Callback at HSync */
    void (*mapper_hsync)(struct nes* nes);
    /* Callback at PPU read/write */
    void (*mapper_ppu)(struct nes* nes, uint16_t write_addr);
    /* Callback at Rendering Screen 1:BG, 0:Sprite */
    void (*mapper_render_screen)(struct nes* nes, uint8_t mode);
    void* mapper_register;
    void* mapper_data;
} nes_mapper_t;

/* prg rom */
void nes_load_prgrom_8k(struct nes* nes,uint8_t des, uint16_t src);
void nes_load_prgrom_16k(struct nes* nes,uint8_t des, uint16_t src);
void nes_load_prgrom_32k(struct nes* nes,uint8_t des, uint16_t src);

/* chr rom */
void nes_load_chrrom_1k(struct nes* nes,uint8_t des, uint8_t src);
void nes_load_chrrom_4k(struct nes* nes,uint8_t des, uint8_t src);
void nes_load_chrrom_8k(struct nes* nes,uint8_t des, uint8_t src);

/* mapper */
int nes_load_mapper(struct nes* nes);

/* iNES 1.0 mapper 0~255 */
int nes_mapper0_init(struct nes* nes);
int nes_mapper1_init(struct nes* nes);
int nes_mapper2_init(struct nes* nes);
int nes_mapper3_init(struct nes* nes);
int nes_mapper4_init(struct nes* nes);
int nes_mapper5_init(struct nes* nes);
int nes_mapper6_init(struct nes* nes);
int nes_mapper7_init(struct nes* nes);
int nes_mapper8_init(struct nes* nes);
int nes_mapper9_init(struct nes* nes);
int nes_mapper10_init(struct nes* nes);
int nes_mapper11_init(struct nes* nes);
int nes_mapper12_init(struct nes* nes);
int nes_mapper13_init(struct nes* nes);
int nes_mapper14_init(struct nes* nes);
int nes_mapper15_init(struct nes* nes);
int nes_mapper16_init(struct nes* nes);
int nes_mapper17_init(struct nes* nes);
int nes_mapper18_init(struct nes* nes);
int nes_mapper19_init(struct nes* nes);
int nes_mapper20_init(struct nes* nes);
int nes_mapper21_init(struct nes* nes);
int nes_mapper22_init(struct nes* nes);
int nes_mapper23_init(struct nes* nes);
int nes_mapper24_init(struct nes* nes);
int nes_mapper25_init(struct nes* nes);
int nes_mapper26_init(struct nes* nes);
int nes_mapper27_init(struct nes* nes);
int nes_mapper28_init(struct nes* nes);
int nes_mapper29_init(struct nes* nes);
int nes_mapper30_init(struct nes* nes);
int nes_mapper31_init(struct nes* nes);
int nes_mapper32_init(struct nes* nes);
int nes_mapper33_init(struct nes* nes);
int nes_mapper34_init(struct nes* nes);
int nes_mapper35_init(struct nes* nes);
int nes_mapper36_init(struct nes* nes);
int nes_mapper37_init(struct nes* nes);
int nes_mapper38_init(struct nes* nes);
int nes_mapper39_init(struct nes* nes);
int nes_mapper40_init(struct nes* nes);
int nes_mapper41_init(struct nes* nes);
int nes_mapper42_init(struct nes* nes);
int nes_mapper43_init(struct nes* nes);
int nes_mapper44_init(struct nes* nes);
int nes_mapper45_init(struct nes* nes);
int nes_mapper46_init(struct nes* nes);
int nes_mapper47_init(struct nes* nes);
int nes_mapper48_init(struct nes* nes);
int nes_mapper49_init(struct nes* nes);
int nes_mapper50_init(struct nes* nes);
int nes_mapper51_init(struct nes* nes);
int nes_mapper52_init(struct nes* nes);
int nes_mapper53_init(struct nes* nes);
int nes_mapper54_init(struct nes* nes);
int nes_mapper55_init(struct nes* nes);
int nes_mapper56_init(struct nes* nes);
int nes_mapper57_init(struct nes* nes);
int nes_mapper58_init(struct nes* nes);
int nes_mapper59_init(struct nes* nes);
int nes_mapper60_init(struct nes* nes);
int nes_mapper61_init(struct nes* nes);
int nes_mapper62_init(struct nes* nes);
int nes_mapper63_init(struct nes* nes);
int nes_mapper64_init(struct nes* nes);
int nes_mapper65_init(struct nes* nes);
int nes_mapper66_init(struct nes* nes);
int nes_mapper67_init(struct nes* nes);
int nes_mapper68_init(struct nes* nes);
int nes_mapper69_init(struct nes* nes);
int nes_mapper70_init(struct nes* nes);
int nes_mapper71_init(struct nes* nes);
int nes_mapper72_init(struct nes* nes);
int nes_mapper73_init(struct nes* nes);
int nes_mapper74_init(struct nes* nes);
int nes_mapper75_init(struct nes* nes);
int nes_mapper76_init(struct nes* nes);
int nes_mapper77_init(struct nes* nes);
int nes_mapper78_init(struct nes* nes);
int nes_mapper79_init(struct nes* nes);
int nes_mapper80_init(struct nes* nes);
int nes_mapper81_init(struct nes* nes);
int nes_mapper82_init(struct nes* nes);
int nes_mapper83_init(struct nes* nes);
int nes_mapper84_init(struct nes* nes);
int nes_mapper85_init(struct nes* nes);
int nes_mapper86_init(struct nes* nes);
int nes_mapper87_init(struct nes* nes);
int nes_mapper88_init(struct nes* nes);
int nes_mapper89_init(struct nes* nes);
int nes_mapper90_init(struct nes* nes);
int nes_mapper91_init(struct nes* nes);
int nes_mapper92_init(struct nes* nes);
int nes_mapper93_init(struct nes* nes);
int nes_mapper94_init(struct nes* nes);
int nes_mapper95_init(struct nes* nes);
int nes_mapper96_init(struct nes* nes);
int nes_mapper97_init(struct nes* nes);
int nes_mapper98_init(struct nes* nes);
int nes_mapper99_init(struct nes* nes);
int nes_mapper100_init(struct nes* nes);
int nes_mapper101_init(struct nes* nes);
int nes_mapper102_init(struct nes* nes);
int nes_mapper103_init(struct nes* nes);
int nes_mapper104_init(struct nes* nes);
int nes_mapper105_init(struct nes* nes);
int nes_mapper106_init(struct nes* nes);
int nes_mapper107_init(struct nes* nes);
int nes_mapper108_init(struct nes* nes);
int nes_mapper109_init(struct nes* nes);
int nes_mapper110_init(struct nes* nes);
int nes_mapper111_init(struct nes* nes);
int nes_mapper112_init(struct nes* nes);
int nes_mapper113_init(struct nes* nes);
int nes_mapper114_init(struct nes* nes);
int nes_mapper115_init(struct nes* nes);
int nes_mapper116_init(struct nes* nes);
int nes_mapper117_init(struct nes* nes);
int nes_mapper118_init(struct nes* nes);
int nes_mapper119_init(struct nes* nes);
int nes_mapper120_init(struct nes* nes);
int nes_mapper121_init(struct nes* nes);
int nes_mapper122_init(struct nes* nes);
int nes_mapper123_init(struct nes* nes);
int nes_mapper124_init(struct nes* nes);
int nes_mapper125_init(struct nes* nes);
int nes_mapper126_init(struct nes* nes);
int nes_mapper127_init(struct nes* nes);
int nes_mapper128_init(struct nes* nes);
int nes_mapper129_init(struct nes* nes);
int nes_mapper130_init(struct nes* nes);
int nes_mapper131_init(struct nes* nes);
int nes_mapper132_init(struct nes* nes);
int nes_mapper133_init(struct nes* nes);
int nes_mapper134_init(struct nes* nes);
int nes_mapper135_init(struct nes* nes);
int nes_mapper136_init(struct nes* nes);
int nes_mapper137_init(struct nes* nes);
int nes_mapper138_init(struct nes* nes);
int nes_mapper139_init(struct nes* nes);
int nes_mapper140_init(struct nes* nes);
int nes_mapper141_init(struct nes* nes);
int nes_mapper142_init(struct nes* nes);
int nes_mapper143_init(struct nes* nes);
int nes_mapper144_init(struct nes* nes);
int nes_mapper145_init(struct nes* nes);
int nes_mapper146_init(struct nes* nes);
int nes_mapper147_init(struct nes* nes);
int nes_mapper148_init(struct nes* nes);
int nes_mapper149_init(struct nes* nes);
int nes_mapper150_init(struct nes* nes);
int nes_mapper151_init(struct nes* nes);
int nes_mapper152_init(struct nes* nes);
int nes_mapper153_init(struct nes* nes);
int nes_mapper154_init(struct nes* nes);
int nes_mapper155_init(struct nes* nes);
int nes_mapper156_init(struct nes* nes);
int nes_mapper157_init(struct nes* nes);
int nes_mapper158_init(struct nes* nes);
int nes_mapper159_init(struct nes* nes);
int nes_mapper160_init(struct nes* nes);
int nes_mapper161_init(struct nes* nes);
int nes_mapper162_init(struct nes* nes);
int nes_mapper163_init(struct nes* nes);
int nes_mapper164_init(struct nes* nes);
int nes_mapper165_init(struct nes* nes);
int nes_mapper166_init(struct nes* nes);
int nes_mapper167_init(struct nes* nes);
int nes_mapper168_init(struct nes* nes);
int nes_mapper169_init(struct nes* nes);
int nes_mapper170_init(struct nes* nes);
int nes_mapper171_init(struct nes* nes);
int nes_mapper172_init(struct nes* nes);
int nes_mapper173_init(struct nes* nes);
int nes_mapper174_init(struct nes* nes);
int nes_mapper175_init(struct nes* nes);
int nes_mapper176_init(struct nes* nes);
int nes_mapper177_init(struct nes* nes);
int nes_mapper178_init(struct nes* nes);
int nes_mapper179_init(struct nes* nes);
int nes_mapper180_init(struct nes* nes);
int nes_mapper181_init(struct nes* nes);
int nes_mapper182_init(struct nes* nes);
int nes_mapper183_init(struct nes* nes);
int nes_mapper184_init(struct nes* nes);
int nes_mapper185_init(struct nes* nes);
int nes_mapper186_init(struct nes* nes);
int nes_mapper187_init(struct nes* nes);
int nes_mapper188_init(struct nes* nes);
int nes_mapper189_init(struct nes* nes);
int nes_mapper190_init(struct nes* nes);
int nes_mapper191_init(struct nes* nes);
int nes_mapper192_init(struct nes* nes);
int nes_mapper193_init(struct nes* nes);
int nes_mapper194_init(struct nes* nes);
int nes_mapper195_init(struct nes* nes);
int nes_mapper196_init(struct nes* nes);
int nes_mapper197_init(struct nes* nes);
int nes_mapper198_init(struct nes* nes);
int nes_mapper199_init(struct nes* nes);
int nes_mapper200_init(struct nes* nes);
int nes_mapper201_init(struct nes* nes);
int nes_mapper202_init(struct nes* nes);
int nes_mapper203_init(struct nes* nes);
int nes_mapper204_init(struct nes* nes);
int nes_mapper205_init(struct nes* nes);
int nes_mapper206_init(struct nes* nes);
int nes_mapper207_init(struct nes* nes);
int nes_mapper208_init(struct nes* nes);
int nes_mapper209_init(struct nes* nes);
int nes_mapper210_init(struct nes* nes);
int nes_mapper211_init(struct nes* nes);
int nes_mapper212_init(struct nes* nes);
int nes_mapper213_init(struct nes* nes);
int nes_mapper214_init(struct nes* nes);
int nes_mapper215_init(struct nes* nes);
int nes_mapper216_init(struct nes* nes);
int nes_mapper217_init(struct nes* nes);
int nes_mapper218_init(struct nes* nes);
int nes_mapper219_init(struct nes* nes);
int nes_mapper220_init(struct nes* nes);
int nes_mapper221_init(struct nes* nes);
int nes_mapper222_init(struct nes* nes);
int nes_mapper223_init(struct nes* nes);
int nes_mapper224_init(struct nes* nes);
int nes_mapper225_init(struct nes* nes);
int nes_mapper226_init(struct nes* nes);
int nes_mapper227_init(struct nes* nes);
int nes_mapper228_init(struct nes* nes);
int nes_mapper229_init(struct nes* nes);
int nes_mapper230_init(struct nes* nes);
int nes_mapper231_init(struct nes* nes);
int nes_mapper232_init(struct nes* nes);
int nes_mapper233_init(struct nes* nes);
int nes_mapper234_init(struct nes* nes);
int nes_mapper235_init(struct nes* nes);
int nes_mapper236_init(struct nes* nes);
int nes_mapper237_init(struct nes* nes);
int nes_mapper238_init(struct nes* nes);
int nes_mapper239_init(struct nes* nes);
int nes_mapper240_init(struct nes* nes);
int nes_mapper241_init(struct nes* nes);
int nes_mapper242_init(struct nes* nes);
int nes_mapper243_init(struct nes* nes);
int nes_mapper244_init(struct nes* nes);
int nes_mapper245_init(struct nes* nes);
int nes_mapper246_init(struct nes* nes);
int nes_mapper247_init(struct nes* nes);
int nes_mapper248_init(struct nes* nes);
int nes_mapper249_init(struct nes* nes);
int nes_mapper250_init(struct nes* nes);
int nes_mapper251_init(struct nes* nes);
int nes_mapper252_init(struct nes* nes);
int nes_mapper253_init(struct nes* nes);
int nes_mapper254_init(struct nes* nes);
int nes_mapper255_init(struct nes* nes);
/* NES 2.0 mappers 256~511 */
int nes_mapper256_init(struct nes* nes);
int nes_mapper257_init(struct nes* nes);
int nes_mapper258_init(struct nes* nes);
int nes_mapper259_init(struct nes* nes);
int nes_mapper260_init(struct nes* nes);
int nes_mapper261_init(struct nes* nes);
int nes_mapper262_init(struct nes* nes);
int nes_mapper263_init(struct nes* nes);
int nes_mapper264_init(struct nes* nes);
int nes_mapper265_init(struct nes* nes);
int nes_mapper266_init(struct nes* nes);
int nes_mapper267_init(struct nes* nes);
int nes_mapper268_init(struct nes* nes);
int nes_mapper269_init(struct nes* nes);
int nes_mapper270_init(struct nes* nes);
int nes_mapper271_init(struct nes* nes);
int nes_mapper272_init(struct nes* nes);
int nes_mapper273_init(struct nes* nes);
int nes_mapper274_init(struct nes* nes);
int nes_mapper275_init(struct nes* nes);
int nes_mapper276_init(struct nes* nes);
int nes_mapper277_init(struct nes* nes);
int nes_mapper278_init(struct nes* nes);
int nes_mapper279_init(struct nes* nes);
int nes_mapper280_init(struct nes* nes);
int nes_mapper281_init(struct nes* nes);
int nes_mapper282_init(struct nes* nes);
int nes_mapper283_init(struct nes* nes);
int nes_mapper284_init(struct nes* nes);
int nes_mapper285_init(struct nes* nes);
int nes_mapper286_init(struct nes* nes);
int nes_mapper287_init(struct nes* nes);
int nes_mapper288_init(struct nes* nes);
int nes_mapper289_init(struct nes* nes);
int nes_mapper290_init(struct nes* nes);
int nes_mapper291_init(struct nes* nes);
int nes_mapper292_init(struct nes* nes);
int nes_mapper293_init(struct nes* nes);
int nes_mapper294_init(struct nes* nes);
int nes_mapper295_init(struct nes* nes);
int nes_mapper296_init(struct nes* nes);
int nes_mapper297_init(struct nes* nes);
int nes_mapper298_init(struct nes* nes);
int nes_mapper299_init(struct nes* nes);
int nes_mapper300_init(struct nes* nes);
int nes_mapper301_init(struct nes* nes);
int nes_mapper302_init(struct nes* nes);
int nes_mapper303_init(struct nes* nes);
int nes_mapper304_init(struct nes* nes);
int nes_mapper305_init(struct nes* nes);
int nes_mapper306_init(struct nes* nes);
int nes_mapper307_init(struct nes* nes);
int nes_mapper308_init(struct nes* nes);
int nes_mapper309_init(struct nes* nes);
int nes_mapper310_init(struct nes* nes);
int nes_mapper311_init(struct nes* nes);
int nes_mapper312_init(struct nes* nes);
int nes_mapper313_init(struct nes* nes);
int nes_mapper314_init(struct nes* nes);
int nes_mapper315_init(struct nes* nes);
int nes_mapper316_init(struct nes* nes);
int nes_mapper317_init(struct nes* nes);
int nes_mapper318_init(struct nes* nes);
int nes_mapper319_init(struct nes* nes);
int nes_mapper320_init(struct nes* nes);
int nes_mapper321_init(struct nes* nes);
int nes_mapper322_init(struct nes* nes);
int nes_mapper323_init(struct nes* nes);
int nes_mapper324_init(struct nes* nes);
int nes_mapper325_init(struct nes* nes);
int nes_mapper326_init(struct nes* nes);
int nes_mapper327_init(struct nes* nes);
int nes_mapper328_init(struct nes* nes);
int nes_mapper329_init(struct nes* nes);
int nes_mapper330_init(struct nes* nes);
int nes_mapper331_init(struct nes* nes);
int nes_mapper332_init(struct nes* nes);
int nes_mapper333_init(struct nes* nes);
int nes_mapper334_init(struct nes* nes);
int nes_mapper335_init(struct nes* nes);
int nes_mapper336_init(struct nes* nes);
int nes_mapper337_init(struct nes* nes);
int nes_mapper338_init(struct nes* nes);
int nes_mapper339_init(struct nes* nes);
int nes_mapper340_init(struct nes* nes);
int nes_mapper341_init(struct nes* nes);
int nes_mapper342_init(struct nes* nes);
int nes_mapper343_init(struct nes* nes);
int nes_mapper344_init(struct nes* nes);
int nes_mapper345_init(struct nes* nes);
int nes_mapper346_init(struct nes* nes);
int nes_mapper347_init(struct nes* nes);
int nes_mapper348_init(struct nes* nes);
int nes_mapper349_init(struct nes* nes);
int nes_mapper350_init(struct nes* nes);
int nes_mapper351_init(struct nes* nes);
int nes_mapper352_init(struct nes* nes);
int nes_mapper353_init(struct nes* nes);
int nes_mapper354_init(struct nes* nes);
int nes_mapper355_init(struct nes* nes);
int nes_mapper356_init(struct nes* nes);
int nes_mapper357_init(struct nes* nes);
int nes_mapper358_init(struct nes* nes);
int nes_mapper359_init(struct nes* nes);
int nes_mapper360_init(struct nes* nes);
int nes_mapper361_init(struct nes* nes);
int nes_mapper362_init(struct nes* nes);
int nes_mapper363_init(struct nes* nes);
int nes_mapper364_init(struct nes* nes);
int nes_mapper365_init(struct nes* nes);
int nes_mapper366_init(struct nes* nes);
int nes_mapper367_init(struct nes* nes);
int nes_mapper368_init(struct nes* nes);
int nes_mapper369_init(struct nes* nes);
int nes_mapper370_init(struct nes* nes);
int nes_mapper371_init(struct nes* nes);
int nes_mapper372_init(struct nes* nes);
int nes_mapper373_init(struct nes* nes);
int nes_mapper374_init(struct nes* nes);
int nes_mapper375_init(struct nes* nes);
int nes_mapper376_init(struct nes* nes);
int nes_mapper377_init(struct nes* nes);
int nes_mapper378_init(struct nes* nes);
int nes_mapper379_init(struct nes* nes);
int nes_mapper380_init(struct nes* nes);
int nes_mapper381_init(struct nes* nes);
int nes_mapper382_init(struct nes* nes);
int nes_mapper383_init(struct nes* nes);
int nes_mapper384_init(struct nes* nes);
int nes_mapper385_init(struct nes* nes);
int nes_mapper386_init(struct nes* nes);
int nes_mapper387_init(struct nes* nes);
int nes_mapper388_init(struct nes* nes);
int nes_mapper389_init(struct nes* nes);
int nes_mapper390_init(struct nes* nes);
int nes_mapper391_init(struct nes* nes);
int nes_mapper392_init(struct nes* nes);
int nes_mapper393_init(struct nes* nes);
int nes_mapper394_init(struct nes* nes);
int nes_mapper395_init(struct nes* nes);
int nes_mapper396_init(struct nes* nes);
int nes_mapper397_init(struct nes* nes);
int nes_mapper398_init(struct nes* nes);
int nes_mapper399_init(struct nes* nes);
int nes_mapper400_init(struct nes* nes);
int nes_mapper401_init(struct nes* nes);
int nes_mapper402_init(struct nes* nes);
int nes_mapper403_init(struct nes* nes);
int nes_mapper404_init(struct nes* nes);
int nes_mapper405_init(struct nes* nes);
int nes_mapper406_init(struct nes* nes);
int nes_mapper407_init(struct nes* nes);
int nes_mapper408_init(struct nes* nes);
int nes_mapper409_init(struct nes* nes);
int nes_mapper410_init(struct nes* nes);
int nes_mapper411_init(struct nes* nes);
int nes_mapper412_init(struct nes* nes);
int nes_mapper413_init(struct nes* nes);
int nes_mapper414_init(struct nes* nes);
int nes_mapper415_init(struct nes* nes);
int nes_mapper416_init(struct nes* nes);
int nes_mapper417_init(struct nes* nes);
int nes_mapper418_init(struct nes* nes);
int nes_mapper419_init(struct nes* nes);
int nes_mapper420_init(struct nes* nes);
int nes_mapper421_init(struct nes* nes);
int nes_mapper422_init(struct nes* nes);
int nes_mapper423_init(struct nes* nes);
int nes_mapper424_init(struct nes* nes);
int nes_mapper425_init(struct nes* nes);
int nes_mapper426_init(struct nes* nes);
int nes_mapper427_init(struct nes* nes);
int nes_mapper428_init(struct nes* nes);
int nes_mapper429_init(struct nes* nes);
int nes_mapper430_init(struct nes* nes);
int nes_mapper431_init(struct nes* nes);
int nes_mapper432_init(struct nes* nes);
int nes_mapper433_init(struct nes* nes);
int nes_mapper434_init(struct nes* nes);
int nes_mapper435_init(struct nes* nes);
int nes_mapper436_init(struct nes* nes);
int nes_mapper437_init(struct nes* nes);
int nes_mapper438_init(struct nes* nes);
int nes_mapper439_init(struct nes* nes);
int nes_mapper440_init(struct nes* nes);
int nes_mapper441_init(struct nes* nes);
int nes_mapper442_init(struct nes* nes);
int nes_mapper443_init(struct nes* nes);
int nes_mapper444_init(struct nes* nes);
int nes_mapper445_init(struct nes* nes);
int nes_mapper446_init(struct nes* nes);
int nes_mapper447_init(struct nes* nes);
int nes_mapper448_init(struct nes* nes);
int nes_mapper449_init(struct nes* nes);
int nes_mapper450_init(struct nes* nes);
int nes_mapper451_init(struct nes* nes);
int nes_mapper452_init(struct nes* nes);
int nes_mapper453_init(struct nes* nes);
int nes_mapper454_init(struct nes* nes);
int nes_mapper455_init(struct nes* nes);
int nes_mapper456_init(struct nes* nes);
int nes_mapper457_init(struct nes* nes);
int nes_mapper458_init(struct nes* nes);
int nes_mapper459_init(struct nes* nes);
int nes_mapper460_init(struct nes* nes);
int nes_mapper461_init(struct nes* nes);
int nes_mapper462_init(struct nes* nes);
int nes_mapper463_init(struct nes* nes);
int nes_mapper464_init(struct nes* nes);
int nes_mapper465_init(struct nes* nes);
int nes_mapper466_init(struct nes* nes);
int nes_mapper467_init(struct nes* nes);
int nes_mapper468_init(struct nes* nes);
int nes_mapper469_init(struct nes* nes);
int nes_mapper470_init(struct nes* nes);
int nes_mapper471_init(struct nes* nes);
int nes_mapper472_init(struct nes* nes);
int nes_mapper473_init(struct nes* nes);
int nes_mapper474_init(struct nes* nes);
int nes_mapper475_init(struct nes* nes);
int nes_mapper476_init(struct nes* nes);
int nes_mapper477_init(struct nes* nes);
int nes_mapper478_init(struct nes* nes);
int nes_mapper479_init(struct nes* nes);
int nes_mapper480_init(struct nes* nes);
int nes_mapper481_init(struct nes* nes);
int nes_mapper482_init(struct nes* nes);
int nes_mapper483_init(struct nes* nes);
int nes_mapper484_init(struct nes* nes);
int nes_mapper485_init(struct nes* nes);
int nes_mapper486_init(struct nes* nes);
int nes_mapper487_init(struct nes* nes);
int nes_mapper488_init(struct nes* nes);
int nes_mapper489_init(struct nes* nes);
int nes_mapper490_init(struct nes* nes);
int nes_mapper491_init(struct nes* nes);
int nes_mapper492_init(struct nes* nes);
int nes_mapper493_init(struct nes* nes);
int nes_mapper494_init(struct nes* nes);
int nes_mapper495_init(struct nes* nes);
int nes_mapper496_init(struct nes* nes);
int nes_mapper497_init(struct nes* nes);
int nes_mapper498_init(struct nes* nes);
int nes_mapper499_init(struct nes* nes);
int nes_mapper500_init(struct nes* nes);
int nes_mapper501_init(struct nes* nes);
int nes_mapper502_init(struct nes* nes);
int nes_mapper503_init(struct nes* nes);
int nes_mapper504_init(struct nes* nes);
int nes_mapper505_init(struct nes* nes);
int nes_mapper506_init(struct nes* nes);
int nes_mapper507_init(struct nes* nes);
int nes_mapper508_init(struct nes* nes);
int nes_mapper509_init(struct nes* nes);
int nes_mapper510_init(struct nes* nes);
int nes_mapper511_init(struct nes* nes);

#ifdef __cplusplus          
    }
#endif


#endif
